package de.ssmp.wbs;

import java.util.ArrayList;

import de.ssmp.wbs.daten.Ergebnis;
import de.ssmp.wbs.daten.Spieler;

/**
 * Dies ist die Ausführbare Klasse des Programmes. Es werden entsprechend die
 * Kommandozeilenparameter eingelesen, anschließend die CSV-Dateien. Danach
 * werden mittels des AQ-Algorithmusses alle Ziele ermittelt und die Situation
 * in welcher der Spieler dieses Ziel wählt.
 * 
 * @author maximilian
 * @version 1
 * 
 */
public class TorwartZettel {

	/**
	 * Hauptprogramm
	 * 
	 * @param args
	 *            Eine Liste aller Dateinamen (Spieler) für die der
	 *            AQ-Algorithmus angewandt werden soll.
	 */
	public static void main(String[] args) {
		// Kommandozeilen-Parameter einlesen
		if (args.length < 1) {
			printHelp();
			System.exit(0);
		}

		// Lese Spielerdaten ein
		ArrayList<Spieler> spielerListe = Utilities.readPlayerData(args);
		// ArrayList<Spieler> spielerListe = Utilities
		// .readPlayerData("src/sampledata/gruppe_da2_g4.csv");
		// Führe AQ-Algorithmus durch und berechne Ergebnisse
		for (Spieler spieler : spielerListe) {
			ArrayList<Ergebnis> ergebnisse = spieler
					.berechneTorwartzettel(true);
			for (Ergebnis e : ergebnisse)
				System.out.println(e);
		}
	}

	/**
	 * Zeige Hilfe an...
	 */
	private static void printHelp() {
		String helpMe = "\n"
				+ "##################################################\n"
				+ "##################################################\n"
				+ "##\t\t\t\t\t\t##\n"
				+ "##\t\t\t\t  - \t\t##\n"
				+ "##\t\t\t\t(---)\t\t##\n"
				+ "##\t\t\t\t  - \t\t##\n"
				+ "##\tTorwart Zettel\t\t\t\t##\n"
				+ "##\t\t\t\t\t\t##\n"
				+ "##\tby\t\t\t\t\t##\n"
				+ "##\t\tSteven Saal\t\t\t##\n"
				+ "##\t\tMaximilian Pollack\t\t##\n"
				+ "__________________________________________________\n"
				+ "\n"
				+ "Programmstarthilfe:\n"
				+ "\n"
				+ "java -jar TorwartZettel.jar [CSV-Dateien]\n"
				+ "\n"
				+ "[CSV-Dateien] können beliebig viele im CSV-Format vorliegende Dateien sein. Mind. jedoch eine!\n";
		System.out.println(helpMe);
	}
}
